package com.shy.springframework.context.event;

import com.shy.springframework.context.ApplicationEvent;
import com.shy.springframework.context.ApplicationListener;

/**
 * @author yzpang
 * @desc: 事件广播接口
 * @date: 2023/2/9 15:27
 */
public interface ApplicationEventMulticaster {

    /**
     * 添加监听器到通知列表
     * @param listener
     */
    void addApplicationListener(ApplicationListener<?> listener);

    /**
     * 移除监听器自通知列表
     * @param listener
     */
    void removeApplicationListener(ApplicationListener<?> listener);

    /**
     * 广播事件到通知列表
     * @param event
     */
    void multicastEvent(ApplicationEvent event);
}
